home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 1997 November & December
/
Amiga-CD 1997 #11-12.iso
/
pd-disketten
/
ungepackt
/
8_95
/
apd-8-95-2
/
arexx kurs
/
arexxmanager2.1.rx
/
scriptmanager2.1
< prev
next >
Wrap
Text File
|
1996-01-25
|
8KB
|
233 lines
/* ScriptManager 2.1 programmed by Karsten Wysocki 09.03.94*/
call addlib("rexxsupport.library",0,-30,0)
call addlib("apig.library",0,-30,0)
call SET_APIG_GLOBALS()
portname = "ScriptManager"
portlist = Showlist('p')
if find(portlist,portname) > 0 then exit
p = openport(portname)
request = "freq = ALLOCFILEREQUEST();
filename = REQUESTFILE(freq,multi,0,hail,dir,file,0,0,
null(),-10,-2,200,211,'22200a22'x);
call FREEFILEREQUEST(freq);
pos = index(filename,'/');
if pos = 0 then pos = index(filename,':');
else do;
do forever;
newpos = index(filename,'/',pos+1);
if newpos > 0 then pos = newpos;
else leave;
end;
end;
dir = left(filename,pos);
file = delstr(filename,1,pos);"
multi = 0
actdir = "REXX:"
actfile = ""
edit = 10
launch = 20
delete = 30
changeeditor = 40
makeicon = 50
verscopy = 60
scr = LOCKPUBSCREEN("Workbench")
scrvinfo = GETVISUALINFO(scr)
scrfont = GETVALUE(scr,40,4,'p')
glistpointer = ALLOCVEC(4,MEMF_CLEAR)
conxgad = CREATECONTEXT(glistpointer)
previousgadget = conxgad
makegadget = "call SETNEWGADGET(newgadx,scrvinfo,scrfont,lft,top,wdt,hgt,
gadname,PLACETEXT_IN,gadnr,null());
previousgadget = CREATEGADGET(BUTTON_KIND,previousgadget,
newgadx,TAG_DONE,0)"
gadname = "Edit"
gadnr = edit
lft = 3
top = 2
wdt = 60
hgt = 12
newgadx = MAKENEWGADGET(scrvinfo,scrfont,lft,top,wdt,hgt,gadname,
,PLACETEXT_IN,gadnr,null())
previousgadget = CREATEGADGET(BUTTON_KIND,previousgadget,newgadx,TAG_DONE,0)
gadname = "Launch"
gadnr = launch
lft = 66
interpret makegadget
gadname = "Delete"
gadnr = delete
lft = 129
interpret makegadget
gadname = "Editor"
gadnr = changeeditor
lft = 3
top = 16
interpret makegadget
gadname = "Icon"
gadnr = makeicon
lft = 66
interpret makegadget
gadname = "VCopy"
gadnr = verscopy
lft = 129
interpret makegadget
wintitle = "ScriptManager2.1"
winidcmp = CLOSEWINDOW+GADGETUP+GADGETDOWN+MOUSEMOVE
winflags = WINDOWCLOSE+WINDOWDRAG+WINDOWDEPTH+GIMMEZEROZERO,
+ACTIVATE
w1 = OPENWINDOW(portname,0,211,200,45,2,4,winidcmp,winflags,wintitle,
,scr,0,null(),null(),conxgad)
call GT_REFRESHWINDOW(w1,null())
rpw1 = GETWINDOWRASTPORT(w1)
exitme = 0
do forever
x = waitpkt(portname)
do forever
msg = getpkt(portname)
if msg = '0000 0000'x then leave
msgclass = getarg(msg,0)
if msgclass = DIE then exitme = 1
if msgclass = CLOSEWINDOW then exitme = 1
if msgclass = GADGETUP then
do
gadid = getarg(msg,9)
select
when gadid = edit then
do
editor = "ed"
x = open('ed','Editor','R')
if x = 1
then do
editor = readln('ed')
call close('ed')
end
filename = ""
file = actfile;dir = actdir
hail = "Select Script to Edit"
interpret request
if filename ~= null()
then do
if editor = "ed" & file = "" then filename = filename || "Unnamed"
ADDRESS COMMAND 'run "'editor'" "'filename'"'
actfile = file;actdir = dir
end
end
when gadid = launch then
do
file = actfile;dir = actdir
hail = "Select Script to Launch"
interpret request
if file ~= "" & file ~= null()
then do
conname = compress(file)
ADDRESS 'COMMAND' 'cd 'dir'0a'x'run sys:rexxc/RX >CON:0/9/200/202/'conname'/AUTO/WAIT "'file'"' '0a'x
actfile = file;actdir = dir
end
end
when gadid = delete then
do
file = "";dir = actdir
hail = "Select Script to Delete"
multi = 1
interpret request
multi = 0
if file ~= "" & file ~= null()
then do
wtext = "Do you really want delete"
gtext = " OK | CANCEL"
rtext = compress(filename,'22'x)
x = easyrequest(w1,wtext,rtext,gtext)
filename = compress(filename,'0a'x)
if x = 1
then do
ADDRESS COMMAND 'delete ' '22'x || filename || '22'x
actfile = ""
end
end
end
when gadid = changeeditor then
do
file = "";dir = actdir
hail = "Select new editor"
interpret request
if file ~= "" & file ~= null()
then do
call open('ed','Editor','W')
call writeln('ed',filename)
call close('ed')
actfile = ""
end
end
when gadid = makeicon then
do
file = actfile;dir = actdir
hail = "Select script to make an icon"
interpret request
if file ~= "" & file ~= null()
then do
ADDRESS COMMAND 'Copy Icon 'filename'.info'
actfile = file;actdir = dir
end
end
when gadid = verscopy then
do
file = actfile;dir = actdir
hail = "Select script to copy"
interpret request
if file ~= "" & file ~= null()
then do
pointpos = index(file,'.',length(file)-2)
if pointpos = 0
then n = 1
else do
n = delstr(file,1,pointpos)
if datatype(n,NUMERIC)
then file = delstr(file,pointpos)
else n =1
end
do forever
if exists(dir || file'.'n)
then n = n + 1
else do
ADDRESS COMMAND 'Copy ' filename dir || file'.'n
actfile = file'.'n;actdir = dir
leave
end
end
end
end
otherwise nop
end
end
x = reply(msg,0)
end
if exitme = 1 then leave
end
call CLOSEWINDOW(w1)
call UNLOCKPUBSCREEN(null(),scr)
call FREEVISUALINFO(scrvinfo)
call FREEGADGETS(conxgad)
call FREETHIS(newgadx)
call FREEVEC(glistpointer)
exit